题目说明
1 | 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 |
解题思路一
主要看一下题目的要求,线性复杂度,不适用额外的空间。
- 这里可以巧妙的使用异或运算符的特性,
相同值的异或为0;所有的值,异或0都是本身。数组的所有项向异或之后的结果就是只出现一次的值 - 我使用了reduce的数组方法,事实上可能也新开辟了空间,我们完全按照题意的话,可以直接使用数组第1项进行代替。
代码实现一
1 | /** |
1 | 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 |
主要看一下题目的要求,线性复杂度,不适用额外的空间。
相同值的异或为0;所有的值,异或0都是本身。数组的所有项向异或之后的结果就是只出现一次的值1 | /** |